package com.ruoyi.game.mapper;

import java.util.List;
import com.ruoyi.game.domain.GamePermission;
import org.apache.ibatis.annotations.Param;

/**
 * 权限Mapper接口
 *
 * @author qidian
 * @date 2022-05-06
 */
public interface GamePermissionMapper
{
    /**
     * 查询权限
     *
     * @param id 权限主键
     * @return 权限
     */
    public GamePermission selectGamePermissionById(Long id);

    /**
     * 根据游戏id与用户id 查询权限绑定关系
     *
     * @param gameId 游戏id
     * @param userId 用户id
     * @return 结果
     */
    GamePermission selectGamePermissionByGameIdAndUserId(@Param("gameId") Long gameId, @Param("userId") Long userId);

    /**
     * 查询权限列表
     *
     * @param gamePermission 权限
     * @return 权限集合
     */
    public List<GamePermission> selectGamePermissionList(GamePermission gamePermission);

    /**
     * 新增权限
     *
     * @param gamePermission 权限
     * @return 结果
     */
    public int insertGamePermission(GamePermission gamePermission);

    /**
     * 修改权限
     *
     * @param gamePermission 权限
     * @return 结果
     */
    public int updateGamePermission(GamePermission gamePermission);

    /**
     * 删除权限
     *
     * @param id 权限主键
     * @return 结果
     */
    public int deleteGamePermissionById(Long id);

    /**
     * 批量删除权限
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGamePermissionByIds(Long[] ids);

    /**
     * 解绑账号
     *
     * @param gameId    游戏id
     * @param userId    用户id
     * @return          结果
     */
    int unboundAccount(@Param("gameId") Long gameId, @Param("userId") Long userId);
}
